package com.xdtech.parking.service;

import java.util.List;

import com.xdtech.common.service.IBaseService;
import com.xdtech.parking.model.ParkOrderInfo;
import com.xdtech.parking.vo.BillDetail;
import com.xdtech.parking.vo.ParkOrderInfoItem;

/**
 * 
 * @author max.zheng
 * @create 2015-06-28 19:18:42
 * @since 1.0
 * @see
 */
public interface ParkOrderInfoService extends IBaseService<ParkOrderInfo>{

	/**
	 * 保存更新信息
	 * @author max.zheng
	 * @create 2015-06-28 19:18:42
	 * @modified by
	 * @param item
	 * @return
	 */
	boolean saveOrUpdateParkOrderInfo(ParkOrderInfoItem item);

	/**
	 * 加载记录信息
	 * @author max.zheng
	 * @create 2015-06-28 19:18:42
	 * @modified by
	 * @param newId
	 * @return
	 */
	ParkOrderInfoItem loadParkOrderInfoItem(Long parkOrderInfoId);

	/**
	 * 根据id号删除记录信息
	 * @author max.zheng
	 * @create 2015-06-28 19:18:42
	 * @modified by
	 * @param id
	 * @return
	 */
	boolean deleteParkOrderInfoInfo(long id);

	/**
	 * 
	 * @author max.zheng
	 * @create 2015-06-28 19:18:42
	 * @modified by
	 * @param parkOrderInfoIds
	 */
	boolean deleteParkOrderInfoInfo(List<Long> parkOrderInfoIds);
	
	/**
	 * 加载vo列表条目
	 * @author max.zheng
	 * @create 2015-06-28 19:18:42
	 * @modified by
	 * @return
	 */
	List<ParkOrderInfoItem> loadItems();

	/**
	 * 保存预订单信息
	 * @author max.zheng
	 * @create 2015-6-28下午9:25:34
	 * @modified by
	 * @param billDetail
	 */
	void savePreOrderInfo(BillDetail billDetail,String telephone);

	/**
	 * 支付成功，更新订单状态同时更新锁状态
	 * @author max.zheng
	 * @create 2015-7-1下午11:49:19
	 * @modified by
	 * @param payPreId
	 * @param telephone
	 */
	void update(String payPreId, String telephone);
}
